package com.leetcode;

/**
 * 796. 旋转字符串
 * 拼接两个子字符串 然后 搜索子字符串
 *
 * @author fy
 * @date 2022/4/7 11:02
 */
public class Solution796_2 {

    public boolean rotateString(String s, String goal) {
        // 字符串 s + ss+s 包含了所有 ss 可以通过旋转操作得到的字符串，只需要检查 goal 是否为 s + s 的子字符串即可
        // contain方法使用 KMP 算法搜索子字符串的时间复杂度为 O(n)
        return s.length() == goal.length() && (s + s).contains(goal);
    }

}
